package cn.flying.base.core.common.utils;

import cn.flying.base.common.context.SpringContextUtil;
import com.github.benmanes.caffeine.cache.Cache;

/**
 * @description: 本地caffeine缓存配置
 * @author: lvyong
 * @date: 2022年11月07日 21:34
 * @version: 1.0
 */
public class LocalCacheUtil {

    private static Cache<String, Object> caffeineCache;

    static {
        caffeineCache = SpringContextUtil.getBean("caffeineCache");
    }

    /**
     * 从缓存中获取
     *
     * @param key
     * @return
     */
    public static Object get(String key) {
        return caffeineCache.getIfPresent(key);
    }

    /**
     * 存入缓存
     *
     * @param key
     * @param data
     */
    public static void set(String key, String data) {
        caffeineCache.put(key, data);
    }

    /**
     * 从缓存中移除
     *
     * @param key
     */
    public static void remove(String key) {
        caffeineCache.invalidate(key);
    }
}
